function runFR(Params_pre, Params_nn, Persons)
%RUNFR nauci a otestuje neuronovou sit na vstupnich datech
%      Params_pre - parametry pro preprocessing
%      Params_nn - parametry neuronove site
%      Persons - vektor cisel; pro jake pocty osob se to ma provest
%                pokud neni tento parametr uveden, tak pro vsechny (2 az 40)


%                  Popis vstupu 
% Vsechny vstupni soubory mam v adresari ./input sobory jsou dale v
% podadresarich s poctem osob ktere se maji rozpoznavat, soubory
% maji nazvy vstupni - inputCisloVstupu.txt a testovaci - inputCisloTestu.txt 
% - nageneroval jsem si 10 nahodnych vstupu pro kazdy pocet osob od 2 do 40
% tzn v adresari ./input/10/ jsou soubory input1.txt ...input10.txt a
% inputTest1.txt ... input10.txt, kde kazdy obsahuje 10 osob
% 

%nInputs - kolik vstupnich souboru je v kazdem adresari
nInputs = 10;

% nastaveni defaultnich hodnot pro chybejici parametry
if nargin < 3
    Persons=2:40;
    if nargin < 2
        Params_nn = defaultParamsNN();
        if nargin < 1
            Params_pre = defaultParamsPre();
        end;
    end    
end;

% pro kolik osob se to ma testovat - pro ktery adresar
% trva to dlouho, takze je lepsi poustet treba jen pro jeden adresar a pres
% noc pro vic...v matlabu se funkce zabiji ctr c (:-))
for nPersons=Persons;
    % v teto promenne jsou fotky ve kterych se sit zmylila - z jejich poctu
    % pote pravdepodobnosti
    errorsIn = cell(1,nInputs);
    for i=1:nInputs
        sInput = ['./inputs/' int2str(nPersons) '/input' int2str(i) '.txt'];
        sTest = ['./inputs/'  int2str(nPersons) '/inputTest' int2str(i) '.txt'];
        
        vstupCislo = [nPersons i]
        
        [P0,T,PT0,TT] = start(sInput,sTest,Params_pre);
        [P,PT] = feval(Params_pre(1).combineFeaturesFnc, P0, PT0,Params_pre);
        clear P0; clear PT0;
        
        N = size(P,1);
        % inLearn = cell(N,1);
        % inTest = cell(N,1);
        % errs = cell(N,1);
        
        inTestsCumulative = zeros(size(T));
        for n=1:N
            % spocte sit
            [net,bestsc,x,y] = rb( P{n},T, PT{n},TT, Params_nn);
            inTestn = sim(net,PT{n});
           % inLearn{n} = sim(net,P{n});
           % inTest{n} = sim(net,PT{n});
            %[e,errIn] = errors(net,PT{n},TT);
            %errs{n} = e;
            inTestsCumulative = inTestsCumulative + inTestn * Params_pre(n).trustVolume;
        end;
        errorsIn{i} = errorsOut(inTestsCumulative,TT);

        % errorsIn{i} = errIn;
   
    end
    
    % ulozit ve kterych fotkach se sit zmylila
    save(['./inputs/' int2str(nPersons) '/errors' int2str(nPersons) '.mat'],'errorsIn');
end